This invention relates to systems and apparatus for providing three dimensions of input to a host processor. More particularly, this invention relates to input devices for computer processor, such as a computer mouse, a stylus for a bit pad, a light pen, etc., which are capable of providing three dimensions of input while operating on an essentially planar surface. At the outset it should be understood that the input of a user into the devices of the invention is a three dimensional input under the hand control of the user and is analog in form. The devices measure the analog information either digitally or in an analog manner. Regardless, the information is processed by the apparatus of the invention or by associated microprocessors such that a host processor such as a computer can decipher the information. With the present technology, the processed information for input into the computer processor must be in digital form before it may be used by the computer processor.
With the advent of the personal computer, the number of different hand-held input devices for computer processors has increased greatly. Most such hand-held input devices provide input of information based on the x and y coordinates of the device. Perhaps the most common of such devices include the light pen, a stylus for a bit pad, and the computer mouse. The light pen operates on the face of a CRT using light output received from the electron beam to determine position. The light pen may be used to move a cursor on a screen to the x and y positions pointed to by the user and thus input information.
The stylus and bit pad combination have taken many different forms in the art. The electrostatic or capacitive stylus and bit pad arrangements provide an electric field between the pen stylus or cursor and a special pad surface containing an antenna, grid or the like. The pen or cursor emits a sine wave signal which is picked up by x and y direction lines in the antenna or grid. The amplitude or phase shift of the wave picked up by the antenna provides an indication of the pen location.
An electromagnetic bit pad arrangement provides for the electromagnetic coupling between the stylus and the bit pad or tablet. The stylus typically contains a small coil which acts as the primary while the tablet has a grid of copper wires which acts as a secondary of an air-core transformer. The exact location of the stylus is determined by scanning the wires of the tablet and analyzing the signals. Other stylus-bit pad arrangements include sonic digitizers where the stylus emits a sound wave and the pad or tablet includes strip microphones which monitor the tablet. The microphones precisely pinpoint the location of the stylus. In all of the arrangements of the art, the stylus and bit pad permit users to operate interactively with a screen so as to create images or make selections. Also, the stylus and bit pad permit a user to digitize information by entering precise positions from an existing drawing.
Also known to the art is a three dimensional stylus manufactured by Polhemus Navigation Sciences of Colchester, Vt. The Polhemus Navigation Sciences stylus can be moved over the surface of a nonmetallic object to provide a three dimensional digitization of the object by measuring the z distance from the stylus to the bit pad, as well as the x and y locations of the stylus according to the electromagnetic arrangement described above.
The mechanical computer mouse (an example of which is seen in block diagram form in FIG. 1), which is probably the most common of the hand-held input devices for desktop computers, typically takes the form of a roller ball having electronically sensed x and y movement. Optical, sonic, and resistive sensing are all known. With the optical and sonic mouse arrangements, the mouse may be independent of direct wiring to the computer but must be in view of the computer. In the resistive mouse arrangement, depending on the length of the connective wire, the mouse need not be in view of the computer.
As seen in FIG. 1, some mechanical mouse arrangements not only provide for x and y direction sensing via x direction sensor 12 and y direction sensor 14, but also provide function buttons such as buttons 16 and 18. The x and y directional movements are analog inputs. However, the sensors 12 and 14 typically provide a binary or digital output which may be forwarded to a microprocessor 20. The microprocessor then interprets the binary values to represent the x and y movement of the mouse. The function button inputs which represent an on or off state are also forwarded to microprocessor 20, and from the start are in the form of digital information. Thus, a binary 1 is interpreted as a switch open, and a binary 0 indicates a switch closure (or vice versa). The digital information from the x and y sensors and the push buttons is then converted into parallel or serial data format and sent to the computer interface 25 (via an EIA Driver 26 if the data is in serial form). The data is typically asynchronous data which contains the directional movement of the mouse along with the switch selection data. The computer may then interpret the data via a software program and perform the functions of the switches and determine the x and y movements of the mouse. If desired, the computer software can be used to obtain configuration information from the microprocessor and to change the configuration information (via EIA Receiver 28 if in serial form) so as to change, e.g. the motion sensitivity of the mouse or the data format.
It will be appreciated that various computer software programs have been developed which utilize a computer mouse such as seen in FIG. 1 as an input which permits the user to have a three dimensional graphics function by entering information such as dimensions regarding the external surfaces of an object. This may be accomplished by moving the mouse over desired distances and clicking the function button of the mouse, or in other ways known in the art. With that information and in conjunction with highly technical and detailed software, a computer processor is capable of providing three-dimensional renderings of an object and even of rotating an object around a desired axis.
Computer renderings needing functions such as line thicknesses, dithering, shadings and color are presently being accomplished in a manner similar to the three dimensional graphics situation. Thus, in drawing lines, the line drawing function requires the user to pre-define or preset the line width of the line to be drawn. This selection is typically made from an option menu which may either appear on the perimeter of the screen at all times or may be invoked through the use of a mouse. The menu is typically invoked by either pressing a button located on the mouse, or by moving the cursor to the specified location on the screen which causes the menu to appear, and then pushing the button. Regardless, the user must make a digital selection of line width by stepping through a sequence of steps, and this sequence must be repeated each time the line width is to be changed. Even then, the line thickness is constant once selected and can only be increased in discrete steps. It will be apprecated that the same is true for shading, color, and dithering selections.